package StreamStudy.Exa01;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;

/**
 * 简单的流学习
 */
public class CountLongWords {
    public static void main(String[] args) {
        String contents="hello world, wo cao ni ma";
        List<String> words = Arrays.asList(contents.split("\\PL+"));
        //流最简单的用法,筛选操作
        long count = words.stream().filter(w-> w.length()>3).count();
        System.out.println(count);
        //对于集合类，我们可以直接调用其中的stream()方法获得它的流
        //对于普通的数组我们可以通过下面的方式获得它的流
        Stream<String> stream= Stream.of(contents.split("\\PL+"));
        System.out.println(stream.filter(w->w.length()>3).count());
        //我们也可以通过使用Array.stream(array,from,to)从数组中截取一部分组成一个流
        Stream<String> subStream=Arrays.stream(contents.split("\\PL+"),1,4);
        System.out.println(subStream.filter(w->w.length()>3).count());
        //如果我们想要一个不包含任何元素的空流我们可以
        Stream<String> silence=Stream.empty();
    }
}
